var gulp =require("gulp");//引人核心工具gulp
var gulp_minify_css=require("gulp-minify-css");//用来压缩css
//require属于cmd规范
var gulp_sass = require("gulp-sass");//编译scss文件
//压缩js文件
var gulp_uglify = require("gulp-uglify");
//将ES6代码转为ES5
var babel = require("gulp-babel");
//支持浏览器热更新
var browserSync = require("browser-sync").create();

//tinypng压缩图片
var tiny = require("gulp-tinypng");



//自动添加css属性的前缀
// cnpm i --save-dev gulp-autoprefixer
var autoprefixer = require("gulp-autoprefixer");

//复制静态资源文件cnpm i --save-dev gulp-copy
var copy = require("gulp-copy");


gulp.task("bs",function(){
	browserSync.init({
		server:{
			baseDir:"./"
		},
		//修改端口号
		port:4000
	})
	gulp.watch("src/scss/**/*.scss",["sass"])
		.on("change",browserSync.reload)
})

//自定义一个任务
gulp.task("init",function(){
	console.log("init")
})
//自定义默认任务
gulp.task("default",function(){
	console.log("default")
})

//编译sass
gulp.task("sass",function(){
	gulp.src("src/scss/**/*.scss")
		.pipe(gulp_sass())
		.pipe(gulp.dest("dist/css"))
})
//gulp.task("dev",function(){
//	gulp.watch("src/scss/**/*.scss",["sass"])
//			.on("change",function(e){
//				console.log(e)
//			})
//})

//监听 scss，并将其转化为css
gulp.task("watchScss",function(){
	gulp.watch("src/scss/**/*.scss",["sass"])
//			.on("change",function(e){
//				console.log(e)
//			})
})
//压缩css
gulp.task("minitycss",function(){
	//文件源头
	gulp.src("src/*/*.css")
		.pipe(autoprefixer({
			browsers:['last 2 versions','Android>=4.0','ios 7','last 3 Safari versions'],
			cascade:true
			//美化属性：
			
		}))
		.pipe(gulp_minify_css())
		.pipe(gulp.dest("dist/css"))
})

gulp.task("minityjs",function(){
	//文件源头
	gulp.src("src/js/*.js")
		.pipe(babel({
			presets:['env']
		}))
		.pipe(gulp_uglify())
		.pipe(gulp.dest("dist/js"))
})
//复制html文件
gulp.task("copyHtml",function(){
	gulp.src("src/**/*.html")
		.pipe(gulp.dest("dist/"))
})

// 压缩图片 cnpm install gulp-tinypng --save-dev
gulp.task("minifyimg",function(){
	//代表src/img目录下的任意文件夹中的任意文件
	gulp.src("src/img/*/*.*")
		.pipe(tiny("s7XAma9jZvBwBRutfxhNe4VsHDaYEkSW"))
		.pipe(gulp.dest("dist/img/"))
	
})

//复制静态文件
gulp.task("copy",function(){
	gulp.src("src/media/**/*.*")
	.pipe(copy("dist/media/",{prefix:"2"}))
})


//一键压缩css，js
gulp.task("pro",["copyHtml","minitycss","minityjs","copy"])
